//五分钟内随机打卡
var randomTime = Math.random() * 1 * 1000;
console.log('打卡计时开始' + (randomTime / 1000).toFixed(2) + '秒后打卡');
toast('打卡计时开始' + (randomTime / 1000).toFixed(2) + '秒后打卡');
setTimeout(() => {
  console.log('开始打卡');
  unlock();
  console.log('点亮屏幕');
  punchClock();
  console.log('打卡结束');
}, randomTime);

//解锁
function unlock() {
  //是否需要亮屏
  if (!device.isScreenOn()) {
    //点亮屏幕
    device.wakeUp();
  }
  //回到桌面
  home();
}

//打卡
function punchClock() {
  sleep(200);
  log("启动钉钉");
  var ding = app.intent({
    action: "VIEW",
    data: "dingtalk://dingtalkclient/page/link?url=https://attend.dingtalk.com/attend/index.html"
  });
  app.startActivity(ding);

  log("等待打卡界面加载");
  descContains("已进入").waitFor();

  log("判断打卡时间");
  var onduty = new Date(); //设定上班时间
  onduty.setHours(8);
  onduty.setMinutes(45);
  var offduty = new Date(); //设定下班时间
  offduty.setHours(17);
  offduty.setMinutes(30);
  var now = new Date();  //当前时间
  if (now < onduty) {
    toast("开始上班打卡");
  } else if (now > offduty) {
    toast("开始下班打卡");
    desc("下班打卡").waitFor();
    desc("下班打卡").findOne().click();
    desc("我知道了").waitFor();
    desc("我知道了").findOne().click();
  } else {
    toast("目前不在打卡时间");
    var result1 = shell("am force-stop com.alibaba.android.rimet", true);
    if (result1.code == 0) {
      toast("钉钉退出成功");
    } else {
      toast("钉钉退出失败");
    }
    exit();
  }

  sleep(5000);
  log("截图开始");
  if (!requestScreenCapture()) {
    toast("请求截图失败");
    exit();
  }
  var img = captureScreen();
  images.saveImage(img, "/sdcard/Pictures/1.png");
  toast("截图成功");
  home();
  sleep(1000)
  log("启动文件管理器找到刚才生成的图片文件");
  launch("com.meizu.filemanager");
  textStartsWith("Pictures").waitFor();
  textStartsWith("Pictures").findOne().parent().click();
  sleep(400);
  click(180, 440);
  log("开始用分享功能发送给微信");
  desc("分享").waitFor();
  desc("分享").findOne().click();
  text("微信好友").waitFor();
  text("微信好友").findOne().parent().click();
  text("喵").waitFor();
  text("喵").findOne().parent().parent().parent().parent().click();
  text("发送").waitFor();
  text("发送").findOne().click();
  sleep(5000);
  home();
  var result1 = shell("am force-stop com.alibaba.android.rimet", true);
  if (result1.code == 0) {
    toast("钉钉退出成功");
  } else {
    toast("钉钉退出失败");
  }
  sleep(400);
  var result2 = shell("am force-stop com.meizu.filemanager", true);
  if (result2.code == 0) {
    toast("文件管理器退出成功");
  } else {
    toast("文件管理器退出失败");
  }
}
